library(plm); library(AER)


source("pred_plm_function.R")


dat<-read.csv(file="annual_data.csv")

dat<-dat[dat$year > 1950 & dat$year < 2001 ,]


dat<-pdata.frame(dat, index=c("ccode","year"))


############# Annual  ################################################

#dat<-pdata.frame(dat,index=c("coutry.x","year"))



ft1<-plm(D~log(Y),model="within",effect="individual",data=dat)


pred_ann_ft1<-pred_plm(ft1,F,"None",time_efs=F)


########################################################################


ft2<-plm(D~log(Y)+TinP,model="within",effect="individual",data=dat)

pred_ann_ft2<-pred_plm(model=ft2,inc_covs = T,covs="TinP",time_efs=F)


########################################################################




dat$trade_share<-dat$Trade/dat$Y



ft3<-plm(D~log(Y)+TinP+trade_share,model="within",effect="individual",data=dat)

pred_ann_ft3<-pred_plm(ft3,inc_covs=T,covs=c("TinP","trade_share"),time_efs=F)




########################################################################

dat$lagD<-lag(dat$D,1)


ft4<-plm(D~log(Y)+lagD+TinP+trade_share,model="within",effect="individual",data=dat)


pred_ann_ft4<-pred_plm(ft4,T,c("lagD","TinP","trade_share"),time_efs=F)


##############################################################################


ft5<-plm(D~ log(Y)+TinP+trade_share,model="within",effect="twoways",data=dat)

pred_ann_ft5<-pred_plm(ft5,T,c("TinP","trade_share"),time_efs=T)



ft6<-plm(D~log(Y)+lagD+TinP+trade_share,model="within",effect="twoways",data=dat)

pred_ann_ft6<-pred_plm(ft6,T,c("lagD","TinP","trade_share"),time_efs=T)



#####################################################################################


remove(dat)

#################3 5 Year #########

dat<-read.csv(file="five_year_data.csv")

dat<-dat[!is.na(dat$ccode),]

dat<-pdata.frame(dat,index=c("ccode","year"))



######################################################################################################

ft1_five<-plm(D~lag(log(Y),1),model="within",effect="individual",data=dat)


pred_five_ft1<-pred_plm(ft1_five,F,"None",time_efs = F)[1:2]




#########################################################################################################################33



ft2_five<-plm(D~lag(log(Y),1)+TinP,model="within",effect="individual",data=dat)

pred_five_ft2<-pred_plm(model=ft2_five,inc_covs = T,covs="TinP",time_efs=F)[1:2]




#########################################################################################################################33



ft3_five<-plm(D~lag(log(Y),1)+TinP+trade_share,model="within",effect="individual",data=dat)

pred_five_ft3<-pred_plm(ft3_five,inc_covs=T,covs=c("TinP","trade_share"),time_efs=F)[1:2]





#########################################################################################################################33



ft4_five<-plm(D~lag(log(Y),1)+TinP+trade_share+education,model="within",effect="individual",data=dat)

pred_five_ft4<-pred_plm(ft4_five,inc_covs=T,covs=c("TinP","trade_share","OilGas"),time_efs=F)[1:2]


#########################################################################################################################33



ft5_five<-plm(D~lag(log(Y),1)+TinP+trade_share+education+laborshare,model="within",effect="individual",data=dat)

pred_five_ft5<-pred_plm(ft5_five,inc_covs=T,covs=c("TinP","trade_share","education","laborshare"),time_efs=F)[1:2]


dat$lagD<-lag(dat$D,1)



#########################################################################################################################



ft6_five<-plm(D~lag(log(Y),1)+TinP+trade_share+lagD,model="within",effect="individual",data=dat)

pred_five_ft6<-pred_plm(ft6_five,inc_covs=T,covs=c("TinP","trade_share","lagD"),time_efs=F)[1:2]



#########################################################################################################################



ft7_five<-plm(D~lag(log(Y),1)+TinP+trade_share,model="within",effect="twoways",data=dat)

pred_five_ft7<-pred_plm(ft7_five,inc_covs=T,covs=c("TinP","trade_share"),time_efs=T)[1:2]





#########################################################################################################################



ft8_five<-plm(D~lag(log(Y),1)+TinP+trade_share+lagD,model="within",effect="twoways",data=dat)

pred_five_ft8<-pred_plm(ft8_five,inc_covs=T,covs=c("TinP","trade_share","lagD"),time_efs=T)[1:2]






############################################################################################################################






pred_all<-list(pred_ann_ft1,pred_five_ft1,pred_ann_ft2,pred_five_ft2,pred_ann_ft3,pred_five_ft3,pred_five_ft4, 
               pred_five_ft5, pred_ann_ft4, pred_five_ft6, pred_ann_ft5,pred_five_ft7,pred_ann_ft6,pred_five_ft8 )


mods<-list(ft1, ft1_five, ft2, ft2_five, ft3, ft3_five, ft4_five, ft5_five, ft4, ft6_five, ft5, ft7_five, ft6, ft8_five)


pred_out<-data.frame(matrix(NA, length(pred_all),5))




for(i in 1:length(pred_all)){
  
  pred_out[i,1] <-pred_all[[i]][1]
  
  if(length(pred_all[[i]]) ==2 ){  pred_out[i,3] <-round(pred_all[[i]][2],3)           }
  
  if(length(pred_all[[i]]) ==3 ){  pred_out[i,2:3] <-round(pred_all[[i]][2:3],3)           }
  
  
  
  pred_out[i,4]<-round(coeftest(mods[[i]])[1,1],3)
  pred_out[i,5]<-round(coeftest(mods[[i]])[1,2],3)
  
}


names(pred_out)<-c("choice","trans_0","transe_2","log_gdp","se")


write.csv(pred_out,file="table_3_output.csv")











